package com.blockchain.console.service.trading.query;

import java.sql.Timestamp;

import com.blockchain.common.enums.EntrustType;
import com.blockchain.common.enums.JyztStatus;

/**
 * 交易列表查询
 * 
 * @author blockchain
 * 
 */
public abstract interface TradingQuery {

	/**
	 * 市场ID
	 * 
	 * @return {@code String}空值无效.
	 */
	public abstract int getId();
	/**
	 * 委托状态:交易中;已完成;已撤销
	 * 
	 * @return {@link String}空值无效.
	 */
	public abstract EntrustType getWtzt();
	/**
	 * 用户名
	 * 
	 * @return {@link String}空值无效.
	 */
	public abstract String getUsername();
	
	/**
	 * 用户名(买家)
	 * 
	 * @return {@link String}空值无效.
	 */
	public abstract String getBuyer();

	/**
	 * 用户名(卖家)
	 * 
	 * @return {@link String}空值无效.
	 */
	public abstract String getSeller();

	/**
	 * 注册时间,大于等于查询.
	 * 
	 * @return {@link Timestamp}null无效.
	 */
	public abstract Timestamp getCreateTimeStart();

	/**
	 * 注册时间,小于等于查询.
	 * 
	 * @return {@link Timestamp}null无效.
	 */
	public abstract Timestamp getCreateTimeEnd();
	/**
	 * 	MR("买入"), MC("卖出");
	 * 
	 * @return {@link UserState}空值无效.
	 */
	public abstract JyztStatus getJyztStatus();
	/**
	 * 显示条数
	 * 
	 * @return {@link Timestamp}null无效.
	 */
	public abstract int getXsts();

}
